package com.turing.post.account.util;

import java.math.BigInteger;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * 主帐户接口
 * 
 * @author ZXL
 * 
 */
@Remote
@Local
public interface MasterAccountDao {
	/**
	 * 主帐户插入
	 * 
	 * @param mac
	 *            主帐户对象
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void insert(MasterAccount mac) throws PCPSApplicationException;

	/**
	 * 更新主帐户记录
	 * 
	 * @param mac
	 *            主帐户对象
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void update(MasterAccount mac) throws PCPSApplicationException;

	/**
	 * 根据主帐号号检索主帐户
	 * 
	 * @param masterAccNo
	 *            主帐号号
	 * @return 主帐户对象
	 */
	public MasterAccount getMasterAccountByMasterAccNo(BigInteger masterAccNo);

	/**
	 * 记录锁定,准备更新
	 * 
	 * @param masterAccNo
	 *            主帐号号
	 */
	public MasterAccount getMasterAccountByMasterAccNoForUpdate(
			BigInteger masterAccNo);

	/**
	 * 置空卡号
	 * 
	 * @param masterAccNo
	 */
	public void clearCardNo(BigInteger masterAccNo);

	/**
	 * 根据卡号查询主账号
	 * 
	 * @param cardno
	 * @return
	 */
	public MasterAccount getMasterAccountByCardNo(String cardno);
}
